Las bibliotecas (libraries) y los paquetes (packages) contenidos en ellas son elementos fundamentales en VHDL. En cualquier descripción es habitual hacer uso de una serie tipos, operadores, objetos, atributos, subprogramas, componentes, etc. definidos en determinados paquetes, estándar o definidos por el propio usuario. Para ello es necesario hacer dichos paquetes visibles. Por ejemplo si en un diseño se utiliza el tipo text, (declarado en el paquete textio, ver Apéndice B) y no se le da visibilidad a textio, el compilador genera un mensaje de error porque no reconoce a text.
Por defecto, todas los modelos en VHDL contienen las siguientes sentencias:
library std, work;
use std.standard.all;
La primera declaración hace que para la entidad de diseño (entidad + arquitectura(s)) que sigue sean encuentren visibles dos bibliotecas: la estándar (std) y la de trabajo (work). La biblioteca std de VHDL contiene dos paquetes (standard y textio) (Apéndice B), en los que se encuentran definidos los tipos básicos necesarios para la descripción de circuitos, tales como bit, integer, character, etc., así como algunas funciones y rutinas básicas. Por defecto el paquete standard es siempre visible gracias a la segunda sentencia, que incluye dicho paquete en su totalidad.
Por otro lado, la biblioteca work también resulta visible en todo momento. Esta biblioteca es la de trabajo, en la que se almacenan compiladas todas las unidades de diseño, es decir, todas las entidades, arquitecturas, configuraciones y paquetes que forman parte del diseño. La denominación "work" es la que se usa por defecto, pero en general las herramientas de diseño con VHDL permiten cambiar el nombre.